Non-volatile memory systems, such as flash memory, have been widely adopted for use in consumer products. Flash memory may be found in different forms, for example in the form of a portable memory card that can be carried between host devices or as a solid state disk (SSD) embedded in a host device. Flash memory is often made up of groups of memory cells referred to as pages, and multiple pages are often then organized in groups known as blocks. Flash memory cells may be physically configured to store data in different bit per cell levels.
After data is written to a block in memory, some of that data may become obsolete over time when updated versions of that data are later written by a host to other blocks in the non-volatile memory, or when the host expressly identifies certain data is now obsolete. At specified intervals, or in response to certain criteria being met, a memory system may perform maintenance operations, such as garbage collection operations, to identify a block with valid and obsolete data and move the valid data remaining in the identified block to another block. The originally identified block may then be recycled for use by the memory system. Typically, data with different characteristics is written from the host and mixed into the same physical blocks in non-volatile memory system.
In non-volatile memory systems where blocks of data with differing characteristics are managed as a single population, write amplification issues may arise because certain types of data may be more likely to become obsolete at different rates than other types of data. The internal memory maintenance (i.e., non-host write operations or background operations such as noted above) can introduce a high write amplification factor (“WAF”) for memory cells. WAF may be understood to be the relation between the amount of data a storage module has to write (including any internal copying of data from one block to another) to execute a host write operation to the actual amount of data that the host sends to be written to the storage module for the write operation.